package cn.lingyangwl.agile.member.model.rqrs.account_detail;

import cn.lingyangwl.agile.model.constants.ValidationCons;
import cn.lingyangwl.agile.model.module.dict.CusFieldBind;
import cn.lingyangwl.agile.model.module.dict.DictTypeCons;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 账户明细
 *
 * @author shenguangyang
 */
@Getter
@Setter
public class AccountDetailBase {
    @ApiModelProperty(value = "关联的业务id")
    private Long relatedId;

    @ApiModelProperty(value = "账户数据")
    private BigDecimal accountData;

    @ApiModelProperty(value = "账户类型")
    @CusFieldBind(type = DictTypeCons.MEMBER_ACCOUNT_DETAIL_TYPE, target = "accountTypeName")
    private String accountType;

    @ApiModelProperty(value = "账户类型名称")
    private String accountTypeName;

    @ApiModelProperty(value = "来源类型")
    @CusFieldBind(type = DictTypeCons.MEMBER_ACCOUNT_DETAIL__FROM, target = "fromTypeName")
    private String fromType;

    @ApiModelProperty(value = "来源类型名称")
    private String fromTypeName;

    @NotNull(message = ValidationCons.NOT_EMPTY)
    @ApiModelProperty(value = "会员id")
    private Long memberId;

    @ApiModelProperty(value = "订单号")
    private String orderNo;

    @ApiModelProperty(value = "备注")
    private String remark;
}
